﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Konwerter
{
    class Dlugosc
    {
        protected double cale;
        protected double jardy;      
        protected double mile;
           

        protected double kilometr;
        protected double metr;     
        protected double centymetr;


        public double Cale
        {
            get { return cale; }
            set { cale = value; }
        }
        public double Jardy
        {
            get { return jardy; }
            set { jardy = value; }
        }
        public double Mile
        {
            get { return mile; }
            set { mile = value; }
        }

        public double Kilometr
        {
            get { return kilometr; }
            set { kilometr = value; }
        }
        public double Metr
        {
            get { return metr; }
            set { metr = value; }
        }

        public double Centymetr
        {
            get { return centymetr; }
            set { centymetr = value; }
        }

        public Dlugosc()
        {
            cale = 0;
            centymetr = 0;
        }

        protected  void przelicz_bryt()
        {
            jardy = cale / 36;
            mile = jardy / 1760;
        }

        protected void przelicz_metr()
        {
            metr = centymetr / 100;
            kilometr = metr / 1000;
        }

        public virtual void konw_cal(double cale)
        {
            this.cale = cale;
            this.centymetr = this.cale * 2.54;
            przelicz_bryt();
            przelicz_metr();
        }

        public virtual void konw_jard(double jardy)
        {
            this.cale = jardy*36;
            this.centymetr = this.cale * 2.54;
            przelicz_bryt();
            przelicz_metr();
        }

        public virtual void konw_mila(double mile)
        { 
            this.cale = mile * 1760 * 36;
            this.centymetr = this.cale * 2.54;
            przelicz_bryt();
            przelicz_metr();
        }

        public virtual void konw_centymetr(double centymetr)
        {
            this.centymetr = centymetr;
            this.cale = this.centymetr / 2.54;
            przelicz_bryt();
            przelicz_metr();
        }

        public virtual void konw_metr(double metr)
        {
            this.centymetr = metr * 100;
            this.cale = this.centymetr / 2.54;
            przelicz_bryt();
            przelicz_metr();
        }

        public virtual void konw_kilometr(double kilometr)
        {
            this.centymetr = kilometr * 1000 * 100;
            this.cale = this.centymetr / 2.54;
            przelicz_bryt();
            przelicz_metr();
        }
    }
}
